A graphics processing unit (GPU) of a computing device can execute a graphics processing pipeline that includes a plurality of stages for processing graphics commands to render a two-dimensional representation of a three-dimensional scene. A three-dimensional scene is typically made up of vertices, and the graphics processing pipeline includes a series of stages that are, for each vertex in the three-dimensional scene, executed in a fixed order to render a two-dimensional representation of the three-dimensional scene.
The graphics processing pipeline may include a chain of shader stages that executes to transform the vertices of the three-dimensional scene. Each of the shader stages consume data produced by previous stages and produces data for the next stages. The graphics processing pipeline may include a rasterization stage that rasterizes primitives into fragments. The graphics processing pipeline may also include a fragment shader stage subsequent to the rasterization stage that performs fragment shading of the fragments generated by the rasterization stage.